///*
// * To change this template, choose Tools | Templates
// * and open the template in the editor.
// */
//package admin.area;
//
//import DBMS.DataBaseManager;
//import clases.Area;
//import clases.Unidad;
//import java.util.ArrayList;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import org.apache.struts.action.ActionForm;
//import org.apache.struts.action.ActionForward;
//import org.apache.struts.action.ActionMapping;
//import org.apache.struts.actions.DispatchAction;
//
///**
// *
// * @author carlo
// */
//public class AgregarArea extends DispatchAction {
//
//    /* forward name="success" path="" */
//    private static final String SUCCESS = "success";
//    private static final String FAILURE = "failure";
//    private static final String FAILUREUNIDAD = "failureFromUnidad";
//    private static final String SUCCESSUNIDAD = "successFromUnidad";
//
//    /**
//     * This is the action called from the Struts framework.
//     * @param mapping The ActionMapping used to select this instance.
//     * @param form The optional ActionForm bean for this request.
//     * @param request The HTTP Request we are processing.
//     * @param response The HTTP Response we are processing.
//     * @throws java.lang.Exception
//     * @return
//     */
//    public ActionForward save(ActionMapping mapping, ActionForm form,
//            HttpServletRequest request, HttpServletResponse response)
//            throws Exception {
//        
//        Area ar = (Area) form;
//        request.getSession().setAttribute("area", null );
//        if (ar == null) {
//            ar.setMensaje("Area no agregada");
//            return mapping.findForward(FAILURE);
//        }
//        DataBaseManager dbms = DataBaseManager.getInstance();
//        if (dbms.agregarArea(ar)) {
//            ar.setMensajeOK("Area agregada");
//            request.setAttribute("area", ar);
//            System.out.println("Area agregada");
//            return mapping.findForward(SUCCESS);
//        } else {
//            ar.setMensaje("Area no agregada: Codigo ya existente");
//            request.setAttribute("area", ar);
//            System.out.println("No se pudo agregar el area");
//            return mapping.findForward(FAILURE);
//        }
//    }
//
//    public ActionForward populate(ActionMapping mapping, ActionForm form,
//            HttpServletRequest request, HttpServletResponse response)
//            throws Exception {
//       Area area = (Area) request.getSession().getAttribute("area");
//       if(area!=null){
//            request.setAttribute("area", area);
//       }
//       request.getSession().setAttribute("area",null);
//        return mapping.findForward("page");
//
//    }
//
//    public ActionForward fromUnidad(ActionMapping mapping, ActionForm form,
//            HttpServletRequest request, HttpServletResponse response)
//            throws Exception {
//        DataBaseManager dbms = DataBaseManager.getInstance();
//        Area area = (Area) form;
//        Unidad unidad = new Unidad();
//        unidad.setCodigo(area.getCodigoUnidad());
//        System.out.println("Nombre area: " + area.getCodigoArea());
//        System.out.println("Codigo Unidad en Area: " + area.getCodigoUnidad());
//        unidad = dbms.consultarUnidad(unidad);
//        System.out.println("Unidad luego de consulta es" + unidad.getCodigo() + unidad.getDescripcion());
//        System.out.println("Area A AGREGAR ES " + area.getNombre() + area.getCodigoUnidad());
//        if (dbms.agregarArea(area)) {
//            System.out.println("Area agregada" + area.getNombre() + area.getCodigoUnidad());
//            if (unidad.getAreas() == null) {
//                unidad.setAreas(new ArrayList<Area>(0));
//            }
//            unidad.getAreas().add(area);
//            area = new Area();
//            area.setMensajeOK("Area agregada");
//            request.setAttribute("area", area);
//            request.setAttribute("unidad", unidad);
//            return mapping.findForward(SUCCESSUNIDAD);
//        } else {
//            area.setMensaje("Area no agregada");
//            request.setAttribute("area", area);
//            request.setAttribute("unidad", unidad);
//            System.out.println("No se pudo agregar el area");
//            return mapping.findForward(FAILUREUNIDAD);
//        }
//    }
//}
